﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ERP.Domain.Scheduling
{
    /// <summary>
    /// 生产日历表实体类
    /// </summary>
    public class Calendar:Audit
    {
        /// <summary>
        /// 日历ID（主键，若数据库中是自增列，可添加自增配置）
        /// </summary>
        [Key]
        [Column("CalendarId")]
        public int CalendarId { get; set; }

        /// <summary>
        /// 日期
        /// </summary>
        [Column("CalendarDate")]
        public DateTime CalendarDate { get; set; }

        /// <summary>
        /// 是否工作日
        /// </summary>
        [Column("IsWorkDay")]
        public bool IsWorkDay { get; set; }

        /// <summary>
        /// 是否加急工作日
        /// </summary>
        [Column("IsUrgentWorkday")]
        public bool IsUrgentWorkday { get; set; }

        /// <summary>
        /// 加急原因
        /// </summary>
        [Column("UrgentReason")]
        [StringLength(200)] // 假设加急原因最长 200 字符，可按需调整
        public string UrgentReason { get; set; }

        /// <summary>
        /// 节假日类型
        /// </summary>
        [Column("HoildayType")]
        [StringLength(50)] // 假设节假日类型最长 50 字符，可按需调整
        public string HoildayType { get; set; }

        /// <summary>
        /// 逻辑删除标识符
        /// </summary>
        public bool? IsDelete { get; set; } = false;
    }
}
